#pragma once

#include <Converter.h>

namespace liba {
namespace lib3d {
namespace hard {

enum BlendMode
{
	BM_ALPHA = 0,
	BM_ADD,
	/* Add source premultiplied with alpha to destination */
	BM_ADD_ALPHA,

	BM_UNINITIALIZED = 0xFFFFFFFF
};

extern converter::EnumPair<char, BlendMode> BlendModeTypeNames[];

} // namespace hard
} // namespace lib3d
namespace converter
{

template<>
struct ConverterTraits<char, liba::lib3d::hard::BlendMode>
	:	public ConverterTraitsEnumBase<
				char, 
				liba::lib3d::hard::BlendMode, 
				liba::lib3d::hard::BlendModeTypeNames>
{};

} // namespace converter
} // namespace liba